package top.vains.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.vains.entity.Permission;
import top.vains.entity.customer.PermissionCustomer;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author vains
 * @since 2020-02-17
 */
public interface IPermissionService extends IService<Permission> {

    /**
     * 查询用户拥有的权限
     * @param userId 用户id
     * @return 返回权限列表
     */
    List<Permission> selectPermissionsById(Integer userId);

    /**
     * 查询所有的权限
     * @return 返回权限列表
     */
    List<Permission> selectPermissions();

    /**
     * 查询所有的菜单
     * @return 返回菜单列表
     */
    List<Permission> selectMenus();

    /**
     * 查询权限详情，包括上级节点名称
     * @return 返回详情列表
     */
    List<PermissionCustomer> selectPermissionsDetails(String name);

}
